草庐IT

python - 不是 Python 中的 None 测试

全部标签

ruby-on-rails - Rails 中的 OO 设计 : Where to put stuff

我真的很喜欢Rails(尽管我通常不太喜欢RESTless),而且我喜欢Ruby非常面向对象。尽管如此,创建庞大的ActiveRecord子类和庞大的Controller的趋势是很自然的(即使您确实为每个资源使用了一个Controller)。如果你要创建更深层次的对象世界,你会将类(和模块,我想)放在哪里?我问的是View(在助手本身中?)、Controller和模型。lib没问题,我找到了somesolutionstogetittoreloadinadevenvironment,但我想知道是否有更好的方法来做这些事情。我真的只是担心类(class)变得太大。另外,引擎怎么样?它们是如

ruby - 为什么 Ruby 中的除法返回整数而不是十进制值?

例如:9/5#=>1但我期望1.8。如何获得正确的小数(非整数)结果?为什么它会返回1? 最佳答案 它正在做整数除法。您可以使用to_f强制事物进入浮点模式:9.to_f/5#=>1.89/5.to_f#=>1.8如果您的值是变量而不是文字,这也适用。将一个值转换为float足以将整个表达式强制转换为浮点运算。 关于ruby-为什么Ruby中的除法返回整数而不是十进制值?,我们在StackOverflow上找到一个类似的问题: https://stackove

ruby - Ruby 中的 block 和产量

我正在尝试了解block和yield以及它们在Ruby中的工作方式。如何使用yield?我看过的许多Rails应用程序都以一种奇怪的方式使用yield。有人可以向我解释或告诉我去哪里了解它们吗? 最佳答案 是的,一开始有点费解。在Ruby中,方法可以接收代码块以执行任意代码段。当一个方法需要一个block时,您可以通过调用yield函数来调用它。例子:以Person为例,这是一个具有name属性和do_with_name方法的类。调用该方法时,它会将name属性传递给block。classPersondefinitialize(na

ruby-on-rails - Ruby on Rails 中的@变量

@title和title有什么区别?由于它们都可以是变量名。另外,我如何决定应该使用哪种变量?是否使用@? 最佳答案 title是局部变量。它们只存在于它的范围内(当前block)@title是一个实例变量-并且可用于类中的所有方法。您可以在这里阅读更多内容:http://strugglingwithruby.blogspot.dk/2010/03/variables.html在RubyonRails中-在Controller中将变量声明为实例变量(@title)使它们可用于您的View。

ruby - 替换字符串中的单词 - Ruby

我在Ruby中有一个字符串:sentence="MynameisRobert"如何在不使用复杂代码或循环的情况下轻松替换这句话中的任何一个词? 最佳答案 sentence.sub!'Robert','Joe'如果被替换的单词不在句子中,则不会导致异常([]=变体会)。如何替换所有实例?以上仅替换了“Robert”的第一个实例。要替换所有实例,请使用gsub/gsub!(即“全局替换”):sentence.gsub!'Robert','Joe'以上将用Joe替换Robert的所有实例。 关

ruby - 遍历一个目录中的每个文件

如何在ruby​​中编写一个循环以便我可以在每个文件上执行一段代码?我是ruby​​的新手,我得出的结论是执行此操作的方法是循环执行。ruby文件将从与我要循环的目录不同的目录中执行。我已经尝试了Dir.foreach但我无法让它工作。 最佳答案 正如其他人所说,Dir::foreach在这里是一个不错的选择。但是,请注意Dir::foreach和Dir::entries将始终包含.和..(当前目录和父目录)。你通常不想处理它们,所以你可以使用Dir::each_child或Dir::children(如suggestedbyma1

ruby - 如何在 RSpec 中运行单个测试/规范文件?

我希望能够运行单个规范文件的测试——例如,针对我正在编辑的一个文件。rakespec执行所有规范。我的项目不是Rails项目,所以rakespec:doc不起作用。不知道这是否重要,但这是我的目录结构。./Rakefile./lib./lib/cushion.rb./lib/cushion./lib/cushion/doc.rb./lib/cushion/db.rb./spec./spec/spec.opts./spec/spec_helper.rb./spec/db_spec.rb 最佳答案 或者您可以跳过rake并使用“rspe

ruby-on-rails - ruby on rails 中的收集路线和成员路线之间的区别?

Rails中集合路由和成员路由有什么区别?例如,resources:photosdomemberdoget:previewendend对比resources:photosdocollectiondoget:searchendend我不明白。 最佳答案 成员路由需要一个ID,因为它作用于一个成员。集合路由不是因为它作用于对象集合。预览是成员路由的一个示例,因为它作用于(并显示)单个对象。搜索是集合路由的一个示例,因为它作用于(并显示)对象集合。 关于ruby-on-rails-rubyon

ruby-on-rails - 如何运行单个 RSpec 测试?

我有以下文件:/spec/controllers/groups_controller_spec.rb我在终端中使用什么命令来运行该规范,我在什么目录中运行该命令?我的gem文件:#TestENVIRONMENTGEMSgroup:development,:testdogem"autotest"gem"rspec-rails","~>2.4"gem"cucumber-rails",">=0.3.2"gem"webrat",">=0.7.2"gem'factory_girl_rails'gem'email_spec'end规范文件:require'spec_helper'describeG

ruby - Ruby 中的 require_relative 和 require 有什么区别?

Ruby中的require_relative和require有什么区别? 最佳答案 看看docs:require_relativecomplementsthebuiltinmethodrequirebyallowingyoutoloadafilethatisrelativetothefilecontainingtherequire_relativestatement.Forexample,ifyouhaveunittestclassesinthe"test"directory,anddataforthemunderthetest"t